home *** CD-ROM | disk | FTP | other *** search
- {
- > I want to be able to read a users Text Attrib and store them so i can
- > restore them when my Program ends. How can I do this?
-
- It seems strange you would only want to save Text attribute and
- not the Dos screen, but that is what you ask -- as I understand it.
-
- You need to read the attribute of Character at or one column
- beFore the current cursor position, directly from the screen. Something
- like this should do:
- }
-
- Uses
- Crt;
-
- Function UserAttr: Byte;
- Var VSeg: Word;
- begin
- if LastMode = 7 then
- VSeg := $B000 { Monochrome }
- else
- VSeg := $B800; { Color }
- if (WhereX = 1) and (WhereY = 1) then
- UserAttr := Hi(MemW[VSeg:0])
- else
- UserAttr := Hi(MemW[VSeg:(WhereX -1) + (MemW[$40:$4A] * (WhereY -1)) -2]);
- end;
-
- (*
- BeFore returning to Dos, Write one space With given attribute and
- backspace over it (this will cause Dos to continue in the same color):
-
- TextAttr := OldAttr; { OldAttr initialized at Program startup }
- Write(#20#8);
- *)
-